2023/12/231325字符

ES6

TDZ 暂时性死区是什么?

创建变量到变量被访问的一段时间称为 TDZ 暂时性死区

说说 var let csont 的区别

  • var:会进行变量提升,全局声明的变量会挂载 window 上;
  • let:没有预解析,在 let 之前访问会出现暂时性死区的问题,不会挂在 window 上面;
  • const:常量赋值,变量不可再次赋值。

什么是 Symbol,有什么使用场景

ES6 新提出的一种原始类型数据,常用做对象的属性名,对该属性进行私有化

class 的出现是为了解决什么样的问题?

  • 避免直接调用,必须使用 new 来完成;
  • function 会将函数提升,class 不会;
  • class 中的所有方法都不可枚举,也无法当作构造函数来使用;

说说你理解的 Promise

  • 该构造函数的目的与 jQuery 中的 Deferred 目的一样,使回调变的可控,避免了回调地狱的问题;

forEach 和 map 的区别

  • forEach():在原始数据上操作

  • map():不会改变原始数据,不会对空数组进行检测,用 return 来获取返回数据;

  • 相同点:this 指向都是 window。

对工程化的理解

  • 从代码的角度:编译、压缩、规范
  • 从人的角度:团队协作、统一产出标准